home *** CD-ROM | disk | FTP | other *** search
/ Joystick Magazine 1996 May / cd joy 71No13.iso / pc / demos / eurosoc / source / playdam.h < prev    next >
Text File  |  1995-10-20  |  5KB  |  153 lines

  1. #ifndef _PLAYDAM_H_INCLUDED
  2. /*
  3.  …ÕÕÕÕÕÕÕÕÕÕÕÕª
  4.  ∫ AUTOHEADER ∫
  5.  ÃÕÕÕÕÕÕÕÕÕÕÕÕ ÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕª
  6.  ∫ Filename     PLAYDAM.H        ∫
  7.  «ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ∂
  8.  ∫ Creation     11/5/1995        ∫
  9.  ÃÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕπ
  10.  ∫                               ∫
  11.  ∫ Updated: Fri 20/10/1995 18:59 ∫
  12.  ∫                               ∫
  13.  ∫ Version: 1.080                ∫
  14.  ∫                               ∫
  15.  »ÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕº
  16. */
  17. //this file is the same as damlink.i to wasm
  18.  
  19. #include "sos.h"
  20.  
  21. #ifdef __cplusplus
  22. extern "C" {
  23. #endif
  24.  
  25. typedef    struct _PlayAnimBlock {  // Used by InitAnim, StartAnim,StopAnim
  26.            char  * FileName;        // address of a file name (term in zero)
  27.            char  * DrvPath;         // driver path 0 = current CD used if player is opening SOS
  28.                                     //    if not null must end in '\', 0
  29.            unsigned char * MemBlock;// approx 2meg in size
  30.            long  int MemBlockSize;     // if 2meg then set to 2meg
  31.            long  int DIGIHandle_SOS;// PAF_NotOpened = no sound
  32. _SOS_CAPABILITIES * DriveCap_SOS;   // pointer to drive capability struc
  33.            long  int Flags;         // see PAF_??
  34.  
  35.            void  * CallBack;        // Callback address 0=no callback see below
  36.  
  37.            short int FadeIn;        // 0=no fade (1=slow 64=VFast)
  38.            short int FadeOut;       // 0=no fade
  39.            short int DelayExit;     // hold last frame (ticks)
  40.  
  41.  
  42.            //    screen defs are used by StartAnim, not InitAnim
  43.            //    Screen mode if none 0 should be able to display GDV colour count
  44.            //    see GDV_Header after InitAnim
  45.               //    note on this version BytesPerScan must match ScreenXSize 
  46.  
  47.            short int Screen;        // VGA mode or VESA 0=Auto, 0x13=VGA, 0x101=VESA (BIT 9 set)
  48.                                     //    0x8000 = ModeX 320x200 : 0x8001 ModeX 320x400
  49.            unsigned char ScreenWindow;// 0=UseWin(A) 1=UseWin(A+B)
  50.            unsigned char ScreenGran;// used by vesa modes (will auto detect if 0)
  51.                                                 // this values = calc as (64/VESA_Gran)
  52.            short int ScreenXSize;   
  53.            short int ScreenYSize;   
  54.            short int ScreenPage;    // mode X current page
  55.  
  56.  
  57.            long  int SNDID;         // e000?
  58.            long  int SNDPort;       // 0x220
  59.            long  int SNDIRQ;        // 0x5
  60.            long  int SNDDMA;        // 0x1
  61.            long  int SNDPara;       // 0x0
  62.  
  63.            long  int FrameSize;     // These are filled in by InitANIM for info before you start the anim
  64.            long  int ManyRead;      //    many frames ..
  65.            long  int SampleSize;    //    adjusted for stereo and 16bit
  66.  
  67.            void  * GDV_Header;      // pointer to this GDV header
  68.  
  69. }          _PlayAnimBlock;
  70.  
  71.  
  72. //#define  PAF_Abort 0x001    // key + mouse stops anim USE CallBack CBX_Abort
  73. #define    PAF_UseTOD 0x002   // use TOD, no sound
  74. #define    PAF_NoINT 0x004    // overrides UseTOD uses no IRQs at all (Test debug)
  75. #define    PAF_LoopPlay 0x008 // No end... (does not work with NoINT)
  76. #define    PAF_NoAudio 0x010  // turn off sound
  77. #define    PAF_Interlace 0x020
  78.  
  79. #define    PAF_UseModeX 0x040 // Only needed if PlayAnimBlock.screen=0
  80. #define    PAF_DontClip 0x080 // If picture dont fit on y uses every other scan
  81.                               //    used for playing MODEX_HI on MODEX_LO
  82. #define    PAF_ClearScreen 0x0100 // Force it to clear all the screen prior 
  83.                                              //  Start Anim, else will clear anim area only
  84.                                              // in the case of mode X clears both pages
  85. #define    PAF_NotOpened 0x0DEAD // DIGIHandle_SOS = not opened
  86.  
  87.  
  88. //PAE_Errors ....return from InitAnim and StartAnim...
  89.  
  90. #define    PAE_NoError 0x00
  91.  
  92. //system
  93. #define    PAE_NoInit 0x001
  94.  
  95. //memory
  96. #define    PAE_BadMemoryDEF 0x010
  97. #define    PAE_NoMemory 0x011
  98. #define    PAE_BuffTooSmall 0x012
  99.  
  100. //read
  101. #define    PAE_FileNotFound 0x020
  102.            //header
  103. #define    PAE_BadFileRead1 0x021
  104.            //frame head + sample
  105. #define    PAE_BadFileRead2 0x022
  106.            //pack data
  107. #define    PAE_BadFileRead3 0x023
  108.  
  109. //data
  110. #define    PAE_MAGICNotFound 0x030
  111. #define    PAE_MAGICNotFound2 0x031
  112. #define    PAE_PackSizeTooBig 0x032
  113.  
  114. //SOS
  115. #define    PAE_SOS_Error 0x080000000
  116. //and it 0x7ffffff and call SOSErrorString
  117.  
  118.  
  119.  
  120. //         your  callback macros =
  121. //
  122. // long  int CallBack ( long int CBM_???mode,
  123. //                      gdv_header *,
  124. //                      void  * PictureData,
  125. //                      short int FrameNo)
  126. //
  127. //         return (CBX_???)   // see below for types..
  128. //
  129.  
  130. #define    CBM_PreCopy 0      // IRQ Call
  131. #define    CBM_AftCopy 1      // IRQ Call
  132. #define    CBM_LookForAbort 2 // none IRQ call
  133. #define    CBM_SetPalette 3   // IRQ Call, PictureData = R,G,B_Pack(63)x256
  134.  
  135. //Anim callback return flags
  136.  
  137. #define    CBX_Normal 0
  138. #define    CBX_NoScreenCopy 1    // used if you are to handle the screen copy
  139.                               //    only valid if CBM_PreCopy
  140. #define    CBX_Abort 2          // used when you detect an abort Input
  141. #define    CBX_DonePalette 3    // when SetPalatte if you set the pal
  142.                               //    return this to skip my code
  143.  
  144.  
  145.  
  146.  
  147.  
  148. #define    _PLAYDAM_H_INCLUDED
  149. #ifdef     __cplusplus
  150. };
  151. #endif
  152. #endif
  153.